﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="ICheckUseCase.cs" company="">
//   
// </copyright>
// <summary>
//   The CheckUseCase interface.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Libium.UseCases
{
    using System;

    // TODO Add tristate
    /// <summary>
    ///   The CheckUseCase interface.
    /// </summary>
    public interface ICheckUseCase : IUseCase
    {
        #region Public Events

        /// <summary>
        ///   The is checked changed.
        /// </summary>
        event Action<ICheckUseCase> IsCheckedChanged;

        #endregion

        #region Public Properties

        /// <summary>
        ///   Gets or sets a value indicating whether is checked.
        /// </summary>
        bool IsChecked { get; set; }

        #endregion
    }
}